#ifndef __IMU_H
#define __IMU_H

/* 宏定义 */
#define IMU_SAMPLING_PERIOD_DEFAULT 64 // 默认采样周期(ms)
#define M_PI 3.14159265358979323846
/* 外部依赖 */
#include <webots/inertial_unit.h>
#include <webots/robot.h>
#include <stdio.h>

/* 函数声明 */
WbDeviceTag IMU_Init(const char *imu_name, int sampling_period);                   // 初始化IMU并设置采样周期
void IMU_Get_XYZ_Values_Degrees(WbDeviceTag imu, double *x, double *y, double *z); // 获取IMU的XYZ值(单位: °)
void IMU_Get_XYZ_Values(WbDeviceTag imu, double *x, double *y, double *z);         // 获取IMU的XYZ值(单位: rad)

#endif /* __IMU_H */